home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.5)
-
- '''Code to handle resizing images. '''
- import logging
- import os
- import traceback
- from platformutils import resizeImage
-
- def _resizedKey(width, height):
- return u'%sx%s' % (width, height)
-
-
- def _makeResizedPath(filename, width, height):
- (path, ext) = os.path.splitext(filename)
- path += '.%sx%s' % (width, height)
- return path + ext
-
-
- def multiResizeImage(source_filename, sizes):
- '''Resize an image to several sizes.
-
- Arguments:
- source_filename -- image to resize
- sizes -- list of (width, height) tuples to resize to.
-
- Returns a dict storing the images successfully resized. The keys are
- "<width>x<height>" and the values are the paths to the image.
- '''
- results = { }
- for width, height in sizes:
- resizedPath = _makeResizedPath(source_filename, width, height)
-
- try:
- resizeImage(source_filename, resizedPath, width, height)
- except:
- logging.warn('Error resizing %s to %sx%s:\n%s', source_filename, width, height, traceback.format_exc())
- continue
-
- results[_resizedKey(width, height)] = resizedPath
-
- return results
-
-
- def getImage(resized_filenames, width, height):
- """Fetch a image from the results of multiResizeImage(). If (width,
- height) wasn't one of the combinations passed to multiResizeImage(), or
- the image wasn't successfully resized, a KeyError will be thrown.
- """
- return resized_filenames[_resizedKey(width, height)]
-
-
- def removeResizedFiles(resized_filenames):
- '''Delete the files returned by multiResizeImage().'''
- for filename in resized_filenames.values():
-
- try:
- if os.path.exists(filename):
- os.remove(filename)
- continue
- logging.warn('Error deleted resized image: %s\n%s', filename, traceback.format_exc())
- continue
-
-
-
-